Socket
Socket
Sign inDemoInstall

fel

Package Overview
Dependencies
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fel

Create errors with HTTP codes and cause refs for use in logging


Version published
Weekly downloads
84
increased by82.61%
Maintainers
1
Weekly downloads
 
Created
Source

fel

Greenkeeper badge

Exports the createError function that creates an error.

The error has a unique id and a reference to the cause, this is to facilitate with logging.

createError uses boom.wrap to decorate the error with boom properties.

createError takes the following optional params:

  • code HTTP status code >= 400. Defaults to 500.
  • message Error message. Defaults to the default message for code.
  • cause The cause of the error.
  • root_error_id Id of the root cause. Defaults to cause.root_error_id || error_id.
  • stack_from Function to start stack trace from. Defaults to createError.

The created error has the following properties added to it:

  • code HTTP status code
  • message Error message
  • cause The cause
  • error_id A unique id string
  • root_error_id A unique id string
  • output See boom
  • details if cause is a joi error then the details array is copied. It is also added to output.payload.

Example:

import { createError } from 'fel';

let error = createError();
// error.code == 500
// error.message == 'Internal Server Error'
// error.error_id == (unique id string)
// error.root_error_id == (unique id string)

createError({ code: 400 });
createError({ code: 400, message: 'cannot process the request' });

function readJsonFile(filename, callback) {
  fs.readFile(filename, { encoding: 'utf8' }, (err, str) => {
    if (err) {
      return callback(createError({ cause: err, message: 'Unable to read the file' }));
    }
    let obj;
    try {
      obj = JSON.parse(str);
    }
    catch (json_err) {
      return callback(createError({ cause: json_err, message: 'Unable to parse the file' }));
    }
    callback(null, obj);
  });
}

FAQs

Package last updated on 20 Sep 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc